package com.ruoyi.dj.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.util.Date;

/**
 * @Author zw
 * @Date 2024/8/1
 **/
@Data
@ApiModel( description = "多模型计算与预报-高精度模型计算轨道")
public class ModelCalcTrackParam {

    @ApiModelProperty("开始日期时间, 例如 2002-12-31 00")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date denStartTime;

    @ApiModelProperty("结束日期时间, 例如 2003-01-01 00")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date denEndTime;

    @ApiModelProperty(value = "密度卫星",example = "GRACEA")
    private String denSate;

    @ApiModelProperty(value = "模型参数id",example = "1892503319534436354")
    private String index;

    @ApiModelProperty(value = "时间步长 秒",example = "2")
    private Integer step;

    @ApiModelProperty("太阳指数预报方法 54AR,SVM (54阶，向量机)")
    private String sunMethod;

    @ApiModelProperty("地磁预报方法 LSTM 长短时")
    private String earthMethod;

    @ApiModelProperty("单星 或 融合, single  fusion")
    //被其他参数占用，没法接收（单星或融合类型）
    private String type;

    @ApiModelProperty("单星 或 融合, single  fusion")
    private String newType;


    public String getReallyType(){
        if(StringUtils.isNotBlank(newType)){
            return newType;
        }
        if(StringUtils.isNotBlank(type) && ("single".equals(type) || "fusion".equals(type))){
            return type;
        }
        return null;
    }

}
